package Collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class listDemo {
    public static void main(String[] args) {
        List<String > list = new LinkedList<>();
        long time = System.currentTimeMillis();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");

        System.out.println("list"+list);
        System.out.println("---------------------------------------");
        //E get(int index),获取指定下标的对应的元素
        String e = list.get(2); //E get(int index),获取指定下标的对应的元素，返回被替换的值
        System.out.println(e);
        for (int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        Iterator<String> it = list.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        for (String s: list){
            System.out.println(s);
        }

        System.out.println("---------------------------------------");
        //E set(int index,E e)：将给定的元素设置到指定位置，返回被替换的元素
      /*  list.set(2,"six");*/ //将下标2的元素替换为six
        String old = list.set(2,"six");//将下标2的元素替换为six，并且返回被替换的元素
        System.out.println("list"+list);
        System.out.println(old);
        System.out.println("---------------------------------------");
        //E remove(int index)
        //删除指定位置的元素，并返回指定位置的元素
//        list.remove(2);//删除下标为2的元素
        String s = list.remove(2);//删除下标为2的元素，并且返回被删除的元素
        System.out.println("list"+list);
        System.out.println(s);
        System.out.println("---------------------------------------");
        /**
         * void add(int index,E e)
         * 将给定的元素e添加到index指定的问位置，相当于插入操作*/
        list.add(3,"seven");
        System.out.println(list);
        System.out.println("---------------------------------------");
        long time2 = System.currentTimeMillis();
        System.out.println(time2-time);
    }
}
